home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / lrnvb615 / exercise.frm (.txt) < prev    next >
Visual Basic Form  |  1998-09-10  |  6KB  |  209 lines

  1. VERSION 5.00
  2. Begin VB.Form frmStats 
  3.    Caption         =   "Mean and Standard Deviation"
  4.    ClientHeight    =   3300
  5.    ClientLeft      =   5805
  6.    ClientTop       =   3570
  7.    ClientWidth     =   3750
  8.    LinkTopic       =   "Form1"
  9.    PaletteMode     =   1  'UseZOrder
  10.    ScaleHeight     =   3300
  11.    ScaleWidth      =   3750
  12.    Begin VB.CommandButton cmdExit 
  13.       Caption         =   "E&xit"
  14.       Height          =   492
  15.       Left            =   2040
  16.       TabIndex        =   11
  17.       Top             =   1680
  18.       Width           =   1332
  19.    End
  20.    Begin VB.CommandButton cmdAccept 
  21.       Caption         =   "&Accept Number"
  22.       Height          =   492
  23.       Left            =   360
  24.       TabIndex        =   10
  25.       Top             =   1080
  26.       Width           =   1332
  27.    End
  28.    Begin VB.CommandButton cmdCompute 
  29.       Caption         =   "&Compute"
  30.       Height          =   492
  31.       Left            =   2040
  32.       TabIndex        =   5
  33.       Top             =   1080
  34.       Width           =   1332
  35.    End
  36.    Begin VB.CommandButton cmdNew 
  37.       Caption         =   "&New Sequence"
  38.       Height          =   492
  39.       Left            =   360
  40.       TabIndex        =   4
  41.       Top             =   1680
  42.       Width           =   1332
  43.    End
  44.    Begin VB.TextBox txtInput 
  45.       BeginProperty Font 
  46.          Name            =   "MS Sans Serif"
  47.          Size            =   12
  48.          Charset         =   0
  49.          Weight          =   400
  50.          Underline       =   0   'False
  51.          Italic          =   0   'False
  52.          Strikethrough   =   0   'False
  53.       EndProperty
  54.       Height          =   420
  55.       Left            =   2160
  56.       TabIndex        =   3
  57.       Top             =   600
  58.       Width           =   1215
  59.    End
  60.    Begin VB.Label lblStdDev 
  61.       Alignment       =   2  'Center
  62.       BackColor       =   &H00FFFFFF&
  63.       BorderStyle     =   1  'Fixed Single
  64.       BeginProperty Font 
  65.          Name            =   "MS Sans Serif"
  66.          Size            =   12
  67.          Charset         =   0
  68.          Weight          =   400
  69.          Underline       =   0   'False
  70.          Italic          =   0   'False
  71.          Strikethrough   =   0   'False
  72.       EndProperty
  73.       Height          =   375
  74.       Left            =   2160
  75.       TabIndex        =   9
  76.       Top             =   2760
  77.       Width           =   1215
  78.    End
  79.    Begin VB.Label Label6 
  80.       Caption         =   "Standard Deviation"
  81.       Height          =   495
  82.       Left            =   360
  83.       TabIndex        =   8
  84.       Top             =   2760
  85.       Width           =   975
  86.    End
  87.    Begin VB.Label lblMean 
  88.       Alignment       =   2  'Center
  89.       BackColor       =   &H00FFFFFF&
  90.       BorderStyle     =   1  'Fixed Single
  91.       BeginProperty Font 
  92.          Name            =   "MS Sans Serif"
  93.          Size            =   12
  94.          Charset         =   0
  95.          Weight          =   400
  96.          Underline       =   0   'False
  97.          Italic          =   0   'False
  98.          Strikethrough   =   0   'False
  99.       EndProperty
  100.       Height          =   375
  101.       Left            =   2160
  102.       TabIndex        =   7
  103.       Top             =   2280
  104.       Width           =   1215
  105.    End
  106.    Begin VB.Label Label4 
  107.       Caption         =   "Mean"
  108.       Height          =   495
  109.       Left            =   360
  110.       TabIndex        =   6
  111.       Top             =   2280
  112.       Width           =   975
  113.    End
  114.    Begin VB.Label lblNumber 
  115.       Alignment       =   2  'Center
  116.       BackColor       =   &H00FFFFFF&
  117.       BorderStyle     =   1  'Fixed Single
  118.       Caption         =   "0"
  119.       BeginProperty Font 
  120.          Name            =   "MS Sans Serif"
  121.          Size            =   12
  122.          Charset         =   0
  123.          Weight          =   400
  124.          Underline       =   0   'False
  125.          Italic          =   0   'False
  126.          Strikethrough   =   0   'False
  127.       EndProperty
  128.       Height          =   375
  129.       Left            =   2160
  130.       TabIndex        =   2
  131.       Top             =   120
  132.       Width           =   1215
  133.    End
  134.    Begin VB.Label Label2 
  135.       Caption         =   "Enter Number"
  136.       Height          =   255
  137.       Left            =   360
  138.       TabIndex        =   1
  139.       Top             =   720
  140.       Width           =   975
  141.    End
  142.    Begin VB.Label Label1 
  143.       Caption         =   "Number of Values"
  144.       Height          =   495
  145.       Left            =   360
  146.       TabIndex        =   0
  147.       Top             =   120
  148.       Width           =   975
  149.    End
  150. Attribute VB_Name = "frmStats"
  151. Attribute VB_GlobalNameSpace = False
  152. Attribute VB_Creatable = False
  153. Attribute VB_PredeclaredId = True
  154. Attribute VB_Exposed = False
  155. Option Explicit
  156. Dim NumValues As Integer
  157. Dim SumX As Single
  158. Dim SumX2 As Single
  159. Const vbKeyMinus = 45
  160. Const vbKeyDecPt = 46
  161. Private Sub cmdAccept_Click()
  162. Dim Value As Single
  163. txtInput.SetFocus
  164. NumValues = NumValues + 1
  165. lblNumber.Caption = Str(NumValues)
  166. 'Get number and sum number and number-squared
  167. Value = Val(txtInput.Text)
  168. SumX = SumX + Value
  169. SumX2 = SumX2 + Value ^ 2
  170. txtInput.Text = ""
  171. End Sub
  172. Private Sub cmdCompute_Click()
  173. Dim Mean As Single
  174. Dim StdDev As Single
  175. txtInput.SetFocus
  176. 'Make sure there are at least two values
  177. If NumValues < 2 Then
  178.   Beep
  179.   Exit Sub
  180. End If
  181. Mean = SumX / NumValues
  182. lblMean.Caption = Str(Mean)
  183. 'Compute standard deviation
  184. StdDev = Sqr((NumValues * SumX2 - SumX ^ 2) / (NumValues * (NumValues - 1)))
  185. lblStdDev.Caption = Str(StdDev)
  186. End Sub
  187. Private Sub cmdExit_Click()
  188. End Sub
  189. Private Sub cmdNew_Click()
  190. 'Initialize all variables
  191. txtInput.SetFocus
  192. NumValues = 0
  193. lblNumber.Caption = "0"
  194. txtInput.Text = ""
  195. lblMean.Caption = ""
  196. lblStdDev.Caption = ""
  197. SumX = 0
  198. SumX2 = 0
  199. End Sub
  200. Private Sub txtInput_KeyPress(KeyAscii As Integer)
  201. 'Only allow numbers, minus sign, decimal point, backspace
  202. If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyMinus Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then
  203.   Exit Sub
  204. ElseIf KeyAscii = vbKeyReturn Then
  205.   Call cmdAccept_Click
  206.   KeyAscii = 0
  207. End If
  208. End Sub
  209.